<template>
	<view>
		
	</view>
</template>

<script setup>
	//reduce() 方法对数组中的每个元素按序执行一个指定方法，
	//每一次运行 reducer 会将先前元素的计算结果作为参数传入。
	
	//应用：再累加、累乘操作
	
	//语法  reduce(callbackFn，initialValue)
	
	//initialValue初始值，最后写为0
	
	//参数	
	//prev（必填），上一次调用 callbackFn 的结果。
	//current（必填），当前元素的值。
	//index（可选），current 在数组中的索引位置。
	//array（可选），调用了reduce() 的数组本身。
	
	//1.数组求和 / 求积
	let arrs1 = [1,2,3,4];
	const result1 = arrs1.reduce((prev,current,index)=>{
		return prev+current
	},0)
	console.log(result1);

	//2.求最大值/最小值
	let arrs2 = [5,6,1,22,3,7];
	const result2 = arrs2.reduce((prev,current)=>{
		return Math.max(prev,current)
	},0)
	console.log(result2);//22
	
	//Math.max() 对数组解构求，更块
	const result3 = Math.max(...arrs2)
	console.log(result3);//22
	
	//3.对数组对象处理（对象属性进行求和）
	let arrs4 = [{name:"张三",age:29},{name:"李四",age:16},{name:"王五",age:50},{name:"小明",age:21}];
	const result4 = arrs4.reduce((p,c)=>{
		return p + c.age
	},0)
	console.log(result4);//116
</script>

<style lang="scss" scoped>
	       
</style>
